#ifndef _PMTContainer_Digi_
#define _PMTContainer_Digi_

#include "PMT.hh"
#include "InputFileReader.hh"
#include <vector>

class PMTContainer
{
public:
    PMTContainer();
    ~PMTContainer();   
    
    static PMTContainer *GetInstance()
    {
        if (PMTContainer::m_Instance == nullptr)
            PMTContainer::m_Instance = new PMTContainer();
        return PMTContainer::m_Instance;
    }

    void ProcessEvent(aSimEvent&);
    inline Int_t NumOfPMT() {return m_NumOfPMT;}
    const PMT* GetPMT(Int_t i) const;

private:
    static PMTContainer* m_Instance;
    std::vector<PMT*> m_VPMT;
    Int_t m_NumOfPMT;

};


#endif